package com.peas.platform.module.icims.expenditure.disbursement.adapter.repository.po;

import java.math.*;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.peas.platform.common.core.annotation.Comment;
import com.peas.platform.framework.mybatisplus.po.BasePo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.type.JdbcType;
import javax.validation.constraints.*;

// 国库支付令明细
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "`tbl_expenditure_treasury_item`")
public class ExpenditureTreasuryItemPo extends BasePo {

    // 国库支付令ID
    // （国库支付令表）外键
    @Comment(value = "国库支付令ID")
    @TableField(value = "`expenditure_treasury_id`", jdbcType = JdbcType.BIGINT)
    private Long expenditureTreasuryId;

    // 报账单ID
    // （报账单表）外键
    @Comment(value = "报账单ID")
    @NotNull(message = "报账单ID不能为空")
    @TableField(value = "`expenditure_reimbursement_id`", jdbcType = JdbcType.BIGINT)
    private Long expenditureReimbursementId;

    // 收款人全称
    @Comment(value = "收款人全称")
    @Size(max = 200, message = "收款人全称不能超过200个字符")
    @TableField(value = "`payee_name`", jdbcType = JdbcType.VARCHAR)
    private String payeeName;

    // 收款人账号
    @Comment(value = "收款人账号")
    @Size(max = 200, message = "收款人账号不能超过200个字符")
    @TableField(value = "`payee_account`", jdbcType = JdbcType.VARCHAR)
    private String payeeAccount;

    // 收款人开户行
    @Comment(value = "收款人开户行")
    @Size(max = 500, message = "收款人开户行不能超过500个字符")
    @TableField(value = "`payee_bank`", jdbcType = JdbcType.VARCHAR)
    private String payeeBank;

    // 资金用途
    @Comment(value = "资金用途")
    @Size(max = 200, message = "资金用途不能超过200个字符")
    @TableField(value = "`use`", jdbcType = JdbcType.VARCHAR)
    private String use;

    // 金额
    @Comment(value = "金额")
    @NotNull(message = "金额不能为空")
    @TableField(value = "`amount`", jdbcType = JdbcType.DECIMAL)
    private BigDecimal amount;

}
